The computing industry has seen many advances in recent years including advances related to virtualization of computing systems. Virtualization allows a computing system to perform the job of multiple computing systems by abstracting computer resources such as hardware, and sharing these resources across multiple environments. This includes hosting multiple operating systems and multiple applications that are available locally or at remote locations. Virtualization enables more efficient utilization and leveraging of hardware, high availability of computer resources, better resource management, increased security and improved disaster recovery process when a virtual infrastructure is built.
In virtualization, almost every entity uses some level of indirection to simplify computing and resource management. For instance, virtual machines are an abstraction of physical hosts, distributed virtual switches are an abstraction of networks, etc. Virtual machines are fundamental building blocks of a virtual infrastructure and represent hardware resources of a computer while the virtual infrastructure (VI) represents interconnected hardware resources of an organization including computers, network devices and storages.
In a VI platform, shared storage is presented to virtual machines through logical containers called datastores. However, the available datastores at the VI are vendor specific or file-system specific, are tightly coupled to the underlying physical volume, are of fixed capacity and take on the underlying volume's identity. Thus, there is a one-to-one relationship between the volume and the datastore. As a result, provisioning and managing such datastores for a virtual machine by a VI administrator results in the VI administrator having to learn the intricacies of managing these volumes which is, ideally, a physical storage administrator's job.
Consequently, the virtual machines associated with these datastores are also tied to the underlying physical storage providing a static environment. Any changes to the underlying volume's identity due to resignaturing, retiring, failure, etc., will require the virtual machines to unregister from the host resulting in considerable downtime of the virtual machines while a new volume is identified and assigned. If a volume needs to be retired, then all the data in the volume has to be moved to a new volume and all references to the volume has to be updated to reflect the new volume. Such updates are either done manually or by running a program script. The program script or manual updates need to ensure that any policies associated with resource allocation of the virtual machines are not violated. Special care has to be taken to ensure that the maintenance and provisioning of the physical storage does not disrupt or, otherwise, severely affect the virtual infrastructure management.
It is in this context that embodiments of the invention arise.